package com.syys.privacy.conentDB;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.syys.common.utils.StringUtils;
import com.syys.privacy.domain.QaPersonalInfo;
import com.syys.privacy.domain.QaPersonalInfoCommission;
import com.syys.privacy.util.ParagraphDesc;
import com.syys.privacy.util.ParagraphType;

import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

/**
 * @Classname ParagraphDB
 * @Description 隐私政策-段落database
 * @Date 2021/7/19 20:44
 * @Created by ys
 */
public class ParagraphDB {

    public static final List<ParagraphDesc> paragraphDescChapterTwoList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterThreeList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterFourList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterFivesList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterSixList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterSevenList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterEightList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterNineList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterTenList = new ArrayList<>();
    public static final List<ParagraphDesc> paragraphDescChapterElevenList = new ArrayList<>();

    static {
        /**
         * 第二章 我们收集、使用个人信息的目的及范围
         */
        ParagraphDesc paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们收集、使用个人信息的目的及范围");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterTwo");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为符合国家法律法规规定和实现本政策所述的下述业务功能，我们会在遵循合法、正当、必要原则的前提下，收集和使用您在使用我们的服务过程中主动提供和因使用我们的服务而产生或需向第三方收集的下述个人信息。");
        paragraphDesc.setUniqueFiled("chapterTwo");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("账号注册与登陆");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("accountRegisterLogin");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您选择注册【产品名称】账号时，您需要主动向我们提供您本人设置的【accountRegisterLogin】。前述信息为必要信息，如果您不提供，您将无法完成注册。如果您仅使用产品浏览、搜索基本服务，您不需要进行注册以及提供前述信息。");
        paragraphDesc.setUniqueFiled("accountRegisterLogin");
        paragraphDesc.setReplace("【accountRegisterLogin】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("身份识别与实名认证");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("realNameAuth");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了识别您的身份，以及履行国家法律法规规定的实名认证义务，您需要向我们提供您的【realNameAuth】。前述信息为进行身份认证的必要信息，如果您不提供，您将可能无法完成身份认证。");
        paragraphDesc.setUniqueFiled("realNameAuth");
        paragraphDesc.setReplace("【realNameAuth】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("产品展示");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("productDisplay");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您使用我们的产品进行浏览和搜索时，我们需要收集【productDisplay】，以便向您返回相应的页面或结果。");
        paragraphDesc.setUniqueFiled("productDisplay");
        paragraphDesc.setReplace("【productDisplay】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("下单");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("placeOrder");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您预订、购买、使用各类产品或服务时，您需要向我们提供必要的信息才能完成相应产品的预订、购买或使用，这些信息具体包括【placeOrder】。");
        paragraphDesc.setUniqueFiled("placeOrder");
        paragraphDesc.setReplace("【placeOrder】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("支付结算");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("paymentSettlement");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您购买产品或者服务进行支付结算时，您需要向我们提供【paymentSettlement】（具体以您选择的支付方式要求的为准）。");
        paragraphDesc.setUniqueFiled("paymentSettlement");
        paragraphDesc.setReplace("【paymentSettlement】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("发票开具");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("invoiceIssuance");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("如果您需要开具纸质或者电子发票，您需要提供包括发票抬头、税号在内的开票信息以及电子邮箱、收件人姓名、收件地址、电话号码信息，以便您的发票能够送达。");
        paragraphDesc.setUniqueFiled("invoiceIssuance");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("交易安全保障");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("transactionSecurity");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了准确识别、预防攻击和保护您的账户和交易安全，在您使用产品的过程中，我们将自动收集部分设备信息或软件信息，具体包括：【transactionSecurity】。");
        paragraphDesc.setUniqueFiled("transactionSecurity");
        paragraphDesc.setReplace("【transactionSecurity】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setUniqueFiled("transactionSecurity");
        paragraphDesc.setContent("请您注意我们收集的场景可能包括在【产品名称】切换到后台的情况下。上述信息的收集频次我们会基于安全和风控所需的最小频次进行收集和上传。我们将通过访问权限最小化、访问日志记录、与订单信息分开存储与授权等安全措施来保护这些设备和软件信息。");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("个性化分析与推送");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("personalizedAnalysisPush");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了向您提供更加准确、个性、流畅及便捷的服务，或者帮助我们评估、改善或者设计产品、服务或者运营活动，我们会对根据本政策收集的您的信息进行综合统计、分析加工。");
        paragraphDesc.setUniqueFiled("personalizedAnalysisPush");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们还可能根据前述信息向您提供营销活动通知、商业性电子信息或您可能感兴趣的内容、广告，如您不希望接受此类信息，可根据我们提供的方法进行选择退订或者关闭推荐。");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("personalizedAnalysisPush");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("客户服务与投诉处理");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("customerService");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了及时为您提供客户服务和响应您的疑问、建议、意见和投诉，同时为了保障平台用户权益，防止欺诈，我们的工作人员可能会收集您的【customerService】，用以核验您的身份。当您需要我们提供与您交易信息相关的客服和售后服务时，为了确认您说提供信息的准确性，我们的客服人员会查询您的交易信息。同时，为了保证服务质量，我们可能会对您与我们的客服人员的通话进行录音，并对您所提的要求、疑问、建议、意见和投诉内容进行记录。");
        paragraphDesc.setUniqueFiled("customerService");
        paragraphDesc.setReplace("【customerService】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("法律合规");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("legalCompliance");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了满足《中华人民共和国网络安全法》《中华人民共和国电子商务法》等法律法规的要求，我们将收集您的【legalCompliance】。请您注意的是，我们收集前述信息的具体类型以相关法律法规的要求为准，且这是为了满足法律法规的强制性要求，无需征得您的同意。");
        paragraphDesc.setUniqueFiled("legalCompliance");
        paragraphDesc.setReplace("【legalCompliance】");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("其他功能");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("functionOther");
        paragraphDescChapterTwoList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT_FOR);
        paragraphDesc.setContent("为了实现【functionOtherQ】，我们需要收集您的【functionOtherA】。");
        paragraphDesc.setUniqueFiled("functionOther");
        paragraphDesc.setFirstLineIndent(30F);
        paragraphDescChapterTwoList.add(paragraphDesc);

        // ------------------------------------------------------------------------  三、我们如何收集您的个人信息
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们如何收集您的个人信息");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们会通过如下渠道收集您的个人信息：");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(false);
        paragraphDesc.setBoldContent(new String[]{"您直接提供的信息："});
        paragraphDesc.setContent("您直接提供的信息：我们可能会收集您在【产品名称】注册账号、申请或使用我们的服务时填写，通过现场交谈、电话、视频或其他联系方式与我们联系时所提供的信息，以及您在使用我们服务过程中产生的与您的交易和活动有关的信息。");
        paragraphDesc.setUniqueFiled("chapterThree1");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(false);
        paragraphDesc.setBoldContent(new String[]{"我们主动收集的信息："});
        paragraphDesc.setContent("我们主动收集的信息：我们会通过Cookie等自动收集工具收集您的设备信息以及与我们的服务相关的日志信息，并可能会通过搜索引擎等公开渠道对您提供的部分信息进行验证。");
        paragraphDesc.setUniqueFiled("chapterThree2");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们会采用一些第三方接口或SDK收集您的信息：");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("chapterThree3");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了实现特定业务功能，我们会使用部分第三方接口或SDK等工具，并可能与该等第三方共享实现特定功能所必须的信息，具体情形如下：");
        paragraphDesc.setUniqueFiled("chapterThree3");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TABLE);
        paragraphDesc.setUniqueFiled("chapterThree3");
        paragraphDesc.setFunction(o -> {
            QaPersonalInfo qaPersonalInfo = (QaPersonalInfo) o;
            String[] header = {"序号", "第三方工具名称", "第三方主体名称", "共享个人信息字段", "功能和目的"};
            int chapterThree3NumInt = 1;
            String chapterThree3Num = qaPersonalInfo.getChapterThree3Num();
            if (StringUtils.isNotEmpty(chapterThree3Num)) {
                chapterThree3NumInt = Integer.valueOf(chapterThree3Num);
            }
            List<List<String>> data = new ArrayList<>();
            List<String> dataMap = null;
            for (int i = 0; i < chapterThree3NumInt; i++) {
                dataMap = new ArrayList<>();
                dataMap.add(i + 1 + "");
                dataMap.add("");
                dataMap.add("");
                dataMap.add("");
                dataMap.add("");
                data.add(dataMap);
            }
            Map<String, Object> param = new HashMap<>();
            param.put("header", header);
            param.put("data", data);
            return param;
        });
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("");
        paragraphDesc.setUniqueFiled("chapterThree3");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TABLE);
        paragraphDesc.setUniqueFiled("chapterThree3");
        paragraphDesc.setFunction(o -> {
            String[] header = {"序号", "第三方工具名称", "第三方主体名称", "共享个人信息字段", "功能和目的"};

            List<List<String>> data = new ArrayList<>();
            List<String> dataMap = new ArrayList<>();
            dataMap.add("1");
            dataMap.add("友盟SDK");
            dataMap.add("友盟同欣（北京）科技有限公司");
            dataMap.add("设备信息（IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/SIM卡IMSI/地理位置等）");
            dataMap.add("统计分析");
            data.add(dataMap);
            dataMap = new ArrayList<>();
            dataMap.add("友盟隐私政策链接：https://www.umeng.com/page/policy");
            data.add(dataMap);

            dataMap = new ArrayList<>();
            dataMap.add("2");
            dataMap.add("TalkingData移动广告监测SDK");
            dataMap.add("北京腾云天下科技有限公司");
            dataMap.add("设备信息、网路信息（设备连接WiFi和基站信息）、位置信息（设备地理位置）、应用信息（SDK宿主应用包名、版本号）");
            dataMap.add("移动广告监测、作弊发防护");
            data.add(dataMap);
            dataMap = new ArrayList<>();
            dataMap.add("腾云天下隐私政策链接：http://www.talkingdata.com/privacy.jsp?languagetype=zh_cn");
            data.add(dataMap);

            dataMap = new ArrayList<>();
            dataMap.add("3");
            dataMap.add("个像用户画像SDK");
            dataMap.add("每日互动股份有限公司");
            dataMap.add("设备信息、应用列表信息、网络信息以及位置相关信息");
            dataMap.add("用户画像");
            data.add(dataMap);
            dataMap = new ArrayList<>();
            dataMap.add("每日互动隐私政策连接：https://docs.getui.com/privacy/");
            data.add(dataMap);

            Map<String, Object> param = new HashMap<>();
            param.put("header", header);
            param.put("data", data);
            param.put("title", "填写示例");
            return param;
        });
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(false);
        paragraphDesc.setBoldContent(new String[]{"从第三方取得您的信息：", "具体以您单独明确授权的为准，如未取得您的单独明确授权，我们不会尝试从第三方取得您的信息"});
        paragraphDesc.setContent("从第三方取得您的信息：在取得您单独同意的前提下，我们还可能从依法设立并合法留存您相关信息的第三方获取您的特定信息（具体以您单独明确授权的为准，如未取得您的单独明确授权，我们不会尝试从第三方取得您的信息）。");
        paragraphDesc.setUniqueFiled("chapterThree4");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("设备权限调用");
        paragraphDesc.setUniqueFiled("chapterThree5");
        paragraphDesc.setBold(true);
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在向您提供服务的过程中，为了实现特定的产品功能，我们会向您的设备系统申请调用以下设备权限，申请前我们会征询您的同意，您可以选择“允许”或者“禁止”权限申请。申请成功后，您可以随时进入手机“设置-权限管理”中关闭相应权限，不过权限关闭后有关产品功能可能无法正常使用，请您理解：");
        paragraphDesc.setUniqueFiled("chapterThree5");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TABLE);
        paragraphDesc.setUniqueFiled("chapterThree5");
        paragraphDesc.setFunction(o -> {
            QaPersonalInfo qaPersonalInfo = (QaPersonalInfo) o;
            String[] header = {"权限名称", "业务功能"};

            List<List<String>> data = new ArrayList<>();
            Consumer<String[]> converData = (T) -> {
                String[] titles = new String[]{"存储", "相机", "位置", "麦克风", "通讯录", "短信", "通话记录", "应用列表"};
                String radio = T[0];
                String input = T[1];
                int index = Integer.valueOf(T[2]);
                if ("1".equals(radio)) {
                    List<String> dataMap = new ArrayList<>();
                    dataMap.add(titles[index - 1]);
                    dataMap.add(input);
                    data.add(dataMap);
                }
            };

            converData.accept(new String[]{qaPersonalInfo.getChapterThree51Radio(), qaPersonalInfo.getChapterThree51Input(), "1"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree52Radio(), qaPersonalInfo.getChapterThree52Input(), "2"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree53Radio(), qaPersonalInfo.getChapterThree53Input(), "3"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree54Radio(), qaPersonalInfo.getChapterThree54Input(), "4"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree55Radio(), qaPersonalInfo.getChapterThree55Input(), "5"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree56Radio(), qaPersonalInfo.getChapterThree56Input(), "6"});
            converData.accept(new String[]{qaPersonalInfo.getChapterThree57Radio(), qaPersonalInfo.getChapterThree57Input(), "7"});
//            converData.accept(new String[]{qaPersonalInfo.getChapterThree58Radio(), qaPersonalInfo.getChapterThree58Input(), "8"});
            if ("1".equals(qaPersonalInfo.getChapterThree58Radio()) && StringUtils.isNotEmpty(qaPersonalInfo.getChapterThree58Input())) {
                String chapterThree58Input = qaPersonalInfo.getChapterThree58Input();
                JSONArray inputJsonArr = JSONArray.parseArray(chapterThree58Input);
                inputJsonArr.forEach(input -> {
                    JSONObject inputJson = (JSONObject)input;
                    List<String> dataMap = new ArrayList<>();
                    for (Map.Entry<String, Object> m : inputJson.entrySet()) {
                        dataMap.add(Objects.toString(m.getValue()));
                    }
                    data.add(dataMap);
                });
            }

            Map<String, Object> param = new HashMap<>();
            param.put("header", header);
            param.put("data", data);
            return param;
        });
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("在法律法规允许的情况下，我们可能会在以下情形中收集并使用您的个人信息而无需征得您的授权或同意：");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDesc.setBold(true);
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）与我们履行法律法规规定的义务相关的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）与国家安全、国防安全直接相关的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）与公共安全、公共卫生、重大公共利益直接相关的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（4）为订立或者履行个人作为一方当事人的合同所必需；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（5）与刑事侦查、起诉、审判和判决执行等直接相关的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（6）出于维护您和其他个人的生命、财产等重大合法权益但又很难得到您本人授权同意的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（7）从合法公开披露的信息中收集您的个人信息的；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（8）用于维护所提供的产品或服务的安全稳定运行所必需的，如发现、处置产品或服务的故障；");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（9）法律法规或国家标准规定的其他情形。");
        paragraphDesc.setUniqueFiled("chapterThree");
        paragraphDescChapterThreeList.add(paragraphDesc);

        // ------------------------------------------------------------------------  四、我们如何使用Cookie

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setFirstLineIndent(0f);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setContent("我们如何使用Cookie");
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterFour");
        paragraphDescChapterFourList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了确保【产品名称】的正常运转，我们会在您移动设备上存储名为Cookie的小数据文件或类似文件。Cookie通常包含标识符、站点名称以及一些号码和字符。借助于Cookie，【产品名称】能够存储您的偏好数据。我们不会将Cookie用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除Cookie。您可以清除移动设备上保存的所有Cookie，大部分网络浏览器或移动设备都设有阻止Cookie的功能。但如果您这么做，则可能无法体验某些便捷性和安全性的功能。");
        paragraphDesc.setUniqueFiled("chapterFour");
        paragraphDescChapterFourList.add(paragraphDesc);


        // ------------------------------------------------------------------------  五、我们如何委托处理、共享、转让、公开披露个人信息

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们如何委托处理、共享、转让、公开披露个人信息");
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setFirstLineIndent(0f);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("委托处理");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("除非另有明确说明，我们未委托第三方公司、组织或个人处理您的个人信息。");
        paragraphDesc.setUniqueFiled("chapterFives1No");
        paragraphDescChapterFivesList.add(paragraphDesc);


        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了更好的为您提供服务，我们可能委托第三方处理部分个人信息。");
        paragraphDesc.setUniqueFiled("chapterFives1");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("请您放心，我们将采取【chapterFives1】等措施确保受托方仅在约定的目的和范围内处理您的个人信息，并保障您的个人信息安全。除此之外，我们未委托其他第三方公司、组织或个人处理您的个人信息。");
        paragraphDesc.setUniqueFiled("chapterFives1");
        paragraphDesc.setReplace("【chapterFives1】");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("共享");
        paragraphDesc.setBold(true);
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们不会与任何公司、组织或个人分享您的个人信息，但以下情况除外：");
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）事先获得您的明确同意的；");
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）根据法律法规规定，或者政府主管部门、司法机关的强制要求必须对外共享的；");
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）为了实现本政策所述的某些业务功能和目的，我们可能会与特定的合作伙伴共享您的一些个人信息，具体如下：");
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TABLE);
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDesc.setFunction(o -> {
            QaPersonalInfoCommission qaPersonalInfoCommission = (QaPersonalInfoCommission) o;
            String[] header = {"序号", "合作伙伴类型", "共享个人信息的目的", "涉及个人信息的类型"};

            int chapterFives2NumInt = 1;
            String chapterFives2Num = qaPersonalInfoCommission.getChapterFives2Num();
            if (StringUtils.isNotEmpty(chapterFives2Num)) {
                chapterFives2NumInt = Integer.valueOf(chapterFives2Num);
            }

            List<List<String>> data = new ArrayList<>();
            List<String> dataMap = null;
            for (int i = 0; i < chapterFives2NumInt; i++) {
                dataMap = new ArrayList<>();
                dataMap.add(i + 1 + "");
                dataMap.add("");
                dataMap.add("");
                dataMap.add("");
                data.add(dataMap);
            }

            Map<String, Object> param = new HashMap<>();
            param.put("header", header);
            param.put("data", data);
            return param;
        });
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TABLE);
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDesc.setFunction(o -> {
            QaPersonalInfoCommission qaPersonalInfoCommission = (QaPersonalInfoCommission) o;
            String[] header = {"序号", "合作伙伴类型", "共享个人信息的目的", "涉及个人信息的类型"};

            List<List<String>> data = new ArrayList<>();
            List<String> dataMap = new ArrayList<>();
            dataMap.add("1");
            dataMap.add("产品或服务供应商");
            dataMap.add("实现产品或服务购买、售后服务");
            dataMap.add("产品或服务信息、交易信息、联系信息");
            data.add(dataMap);

            dataMap = new ArrayList<>();
            dataMap.add("2");
            dataMap.add("银行或第三方支付机构");
            dataMap.add("实现支付");
            dataMap.add("支付金额、支付方式、支付时间、收付款主体");
            data.add(dataMap);

            dataMap = new ArrayList<>();
            dataMap.add("3");
            dataMap.add("广告、媒体运营商");
            dataMap.add("广告投放和提升营销效果");
            dataMap.add("统计信息");
            data.add(dataMap);

            Map<String, Object> param = new HashMap<>();
            param.put("header", header);
            param.put("data", data);
            param.put("title", "填写示例");
            return param;
        });
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("对于我们与之共享个人信息的机构，我们会与其签署严格的保密协议/条款，要求其按照我们的要求采取相关的保密和安全措施来处理我们共享的个人信息。在涉及个人敏感信息时，我们要求该等机构采用脱敏和加密技术对个人信息进行保护，从而更好地保护您的个人信息。");
        paragraphDesc.setUniqueFiled("chapterFives2");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("转让");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("除以下情形外，我们不会将您的个人信息转让给任何公司、组织或个人：");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）事先获得您的明确同意的；");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）根据法律法规规定，或者政府主管部门、司法机关的强制要求必须对外转让的；");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）涉及公司合并、分立、解散、资产或业务转让、破产清算或类似的交易时，若涉及到您的个人信息转让，我们会要求新持有您个人信息的公司、组织或个人继续受本政策的约束，否则我们将要求该等公司、组织或个人重新取得您的授权同意。");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("公开披露");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("除以下情形外，我们不会公开披露您的个人信息：");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）事先获得您的明确同意的；");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）根据法律法规规定，或者政府主管部门、司法机关的强制要求必须公开披露的。在符合法律法规的前提下，当我们收到上述披露信息的请求时，我们会要求必须出具与之相应的法律文件，如传票或调查函。我们坚信，对于要求我们提供的信息，应该在法律允许的范围内尽可能保持透明。我们对所有的请求都将进行慎重的审查，以确保其具备合法依据，且仅限于执法部门因特定调查目的且有合法权利获取的数据。");
        paragraphDesc.setUniqueFiled("chapterFives");
        paragraphDescChapterFivesList.add(paragraphDesc);

        // ------------------------------------------------------------------------  六、我们如何存储个人信息
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们如何存储个人信息");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("存储地域与跨境传输");
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("您的所有个人信息将储存于中华人民共和国境内，本隐私政策项下，您的个人信息不涉及跨境传输。若将来涉及跨境传输且确需向境外机构传输您的个人信息，我们会按照法律、行政法规和相关监管部门的规定执行，并在数据跨境传输前再次征求您的同意和允许或进行匿名化处理。同时，我们确保会在隐私政策中详细说明数据传输的地点和用途，让您随时了解个人信息的存储位置，且为了确保您的个人信息得到足够的保护，我们将会在跨境数据转移之前将您的个人信息采取如加密传输等安全技术措施。");
        paragraphDesc.setBoldContent(new String[]{"并在数据跨境传输前再次征求您的同意和允许或进行匿名化处理"});
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("存储期限");
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为保证您的合法权益，除法律法规另有规定外，您的个人信息保存期限将截至您所使用的产品或服务到期后三年。当您的个人信息超出我们的保存期限后，我们将对您的个人信息进行删除或匿名化处理。");
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("您的个人信息经匿名化处理后可能形成可以使用的数据，我们对此类数据的保存及使用无需另行通知并征得您的同意。");
        paragraphDesc.setUniqueFiled("chapterSix");
        paragraphDescChapterSixList.add(paragraphDesc);

        // ------------------------------------------------------------------------  七、我们如何保护您的个人信息
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们如何保护您的个人信息");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterSeven");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们已使用符合业界标准的安全防护措施保护您提供的个人信息，防止您的个人信息遭到未经授权访问、使用、修改、公开披露、损坏或丢失。我们会采取一切合理可行的措施，保护您的个人信息，比如：");
        paragraphDesc.setUniqueFiled("chapterSeven1");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们设立了网络安全和个人信息保护机构，专门负责网络安全和个人信息保护事务；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven11");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们的网络服务采取了传输层安全协议等加密技术，通过https等方式提供浏览服务，确保用户数据在传输过程中的安全；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven12");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们采取MD5、SHA256等加密技术对您的个人信息进行加密存储，增强个人信息在使用中的安全性；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven13");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们采用严格的数据访问权限控制和多重身份认证技术保护个人信息，避免数据被违规使用；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven14");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们采用代码安全检查、数据访问日志分析技术进行个人信息安全审计；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven15");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们建立了客户信息保护管理规定、客户信息分级分类管理规定、日常操作规程等一系列管理制度来规范个人信息的存储和使用；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven16");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们定期举办信息安全和个人信息保护培训课程，加强员工对于个人信息保护重要性的认识；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven17");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们与所有可能接触个人信息的员工签订了保密协议，对关键岗位人员进行背景审查，并建立了严格的访问权限控制、权限审批流程和监控、审计机制；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven18");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们与所有可能接触用户个人信息的合作伙伴均签署了严格的保密协议或数据保护专用条款，并要求可能接触到您个人信息的所有人员履行相应的保密和数据保护义务。如果第三方合作伙伴未履行保密和数据保护义务，可能会被我们追究法律责任并被我们终止合作；");
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven19");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT_FOR);
        paragraphDesc.setFirstLineIndent(25F);
        paragraphDesc.setSerialNumGroup("SerialNum");
        paragraphDesc.setUniqueFiled("chapterSeven110");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们已经通过了国家信息安全等级保护测评和备案，最高备案等级为【chapterSeven2】。");
        paragraphDesc.setUniqueFiled("chapterSeven2");
        paragraphDesc.setReplace("【chapterSeven2】");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们已经通过了【chapterSeven3】。");
        paragraphDesc.setUniqueFiled("chapterSeven3");
        paragraphDesc.setReplace("【chapterSeven3】");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们会采取一切合理可行的措施，确保未收集无关的个人信息。我们只会在达成本政策所述目的所需的期限内保留您的个人信息，除非需要延长保留期或者受到法律允许。");
        paragraphDesc.setUniqueFiled("chapterSeven");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("互联网并非绝对安全的环境，而且电子邮件、即时通讯、社交软件等与其他用户的交流方式无法确定是否完全加密，我们强烈建议您不用通过此类方式发送个人信息。若确需使用，在使用此类工具时请使用复杂密码，并注意保护您的个人信息安全。我们将尽力保障您个人信息的安全性。如果我们的物理、技术、或管理防护设施遭到破坏，导致信息被非授权访问、公开披露、篡改、或毁坏，导致您的合法权益受损，我们将全力配合保护您的权益，并依法承担我们应承担的赔偿责任。");
        paragraphDesc.setBoldContent(new String[]{"互联网并非绝对安全的环境，而且电子邮件、即时通讯、社交软件等与其他用户的交流方式无法确定是否完全加密，我们强烈建议您不用通过此类方式发送个人信息。"});
        paragraphDesc.setUniqueFiled("chapterSeven");
        paragraphDescChapterSevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("在不幸发生个人信息安全事件后，我们将按照法律法规的要求及时向您告知安全事件的基本情况和可能的影响、我们已采取或将采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您，难以逐一告知时，我们会采取合理、有效的方式发布公告。同时，我们还将按照监管部门要求，主动上报个人信息安全事件的处置情况。");
        paragraphDesc.setUniqueFiled("chapterSeven");
        paragraphDescChapterSevenList.add(paragraphDesc);

        // ------------------------------------------------------------------------  八、您的权利
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("您的权利");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("根据国家相关法律、法规、标准，我们保障您对自己的个人信息行使以下权利：");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("访问您的个人信息");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("除法律法规规定的例外情况外，您有权通过【产品名称】设置的各项功能界面访问您的个人信息。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("对于您在使用我们的产品或服务过程中向我们提供或产生的其他信息，只要我们不需要过多投入，我们会向您提供。您可以通过拨打我们的客服电话提出访问申请，我们将在30天内回复您的访问请求。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("更正您的个人信息");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您发现我们处理的您的个人信息有误或者您需要更正该等信息时，您可以通过内设置的自动更正功能、电子邮件或者拨打客服电话等方式进行修改或更正。您如果需要更正其他个人信息，可通过联系人工客服向我们提出更正申请。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("删除您的个人信息");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在以下情形中，您可以向我们提出删除个人信息的请求：");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）如果我们处理个人信息的行为违反了法律法规的强制性规定；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）如果我们收集、使用您的个人信息，却未征得您的同意（依法无需征得同意的情况除外）；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）如果我们处理个人信息的行为违反了与您的约定；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（4）如果您不再使用我们的产品或服务，或您注销了账号；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（5）如果我们不再为您提供产品或服务。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("收到您的删除请求后，我们会根据您及相关法律法规的要求进行后续删除处理并向您反馈结果。若我们决定响应您的删除请求，我们还将同时通知从我们获得您的个人信息的实体，要求其及时删除，除非法律法规另有规定，或这些实体获得您的独立授权。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("当您从我们的服务中删除信息后，我们可能不会立即备份系统中删除相应的信息，但会在备份更新时删除这些信息。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("改变您授权同意的范围");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）每个业务功能需要一些基本的个人信息才能得以完成。对于额外收集的个人信息的收集和使用，您可随时给予或者收回您的授权同意。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("当您收回同意后，我们将不再处理相应的个人信息，但您收回同意的决定，不会影响此前基于您的授权而开展的个人信息处理活动。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）您可以通过关闭系统权限的方式来撤回您原来的授权，但请您注意，此项撤回不影响我们之前通过您的授权所收集的个人信息，同时，因您的某些授权是实现我们某些业务功能的必要权限，您撤回相应授权可能会影响您使用我们对应的部分业务功能。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("注销您的账号");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在您确认不再使用我们的服务，符合注销条件并且需要注销账户时，您可以通过内设置的自动注销功能、电子邮件或者拨打客服电话等方式功能向我们提出注销账号申请。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在您账户注销之后，我们将停止为您提供产品或服务，并对您的个人信息进行删除或匿名化处理，法律法规另有规定的除外。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("获取个人信息副本");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("您有权获取您的个人信息副本，可通过发送电子邮件的方式向我们提出申请。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在技术可行的情况下，如数据接口已匹配，我们还可按照您的要求，直接将您的个人信息副本传输给您指定的第三方。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("约束信息系统自动决策");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("在某些业务功能中，我们可能仅依据信息系统、算法在内的非人工自动决策机制作出决定。如果这些决定显著影响您的合法权益，您有权要求我们作出解释，我们也将提供适当的救济方式。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("举报和投诉");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("如果您发现您的个人信息可能被泄露，或者我们的工作人员或合作伙伴在处理您的个人信息时有任何违法违规行为，您可以通过拨打客服热线或者发送电子邮件的方式向我们进行举报和投诉。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("响应您的上述请求");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("为了确保上述请求的提出系您本人操作，保障您的个人信息安全，我们会对您的身份进行验证（必要时可能需要您提供书面请求），在身份验证通过后，再处理您的请求。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("对于您所提出的上述请求，我们将在15个工作日内核实和处理。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("对于您合理的请求，我们原则上不收取费用，但对于多次重复、超出合理限度的请求，我们将视情况收取一定的成本费用。对于那些无端重复、需要过多技术手段（例如，需要开发新系统或从根本上改变现行惯例）、给他人合法权益带来风险或者非常不切实际（例如，涉及备份磁带上存放的信息）的请求，我们可能会予以拒绝。");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("请您知悉，在以下情形中，我们将无法响应您的请求：");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）与我们履行法律法规规定的义务相关的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）与国家安全、国防安全直接相关的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）与公共安全、公共卫生、重大公共利益直接相关的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（4）与刑事侦查、起诉、司法调查、审判和执行判决等直接相关的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（5）有充分证据表明您存在主观恶意或滥用权利的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（6）出于维护您或者其他个人的生命、财产等重大合法权益但又很难得到本人同意的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（7）响应您的请求将导致您或者其他个人、组织的合法权益收到严重损害的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（8）涉及商业秘密的；");
        paragraphDesc.setUniqueFiled("chapterEight");
        paragraphDescChapterEightList.add(paragraphDesc);

        // ------------------------------------------------------------------------  九、我们如何处理未成年人的个人信息
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("我们如何处理未成年人的个人信息");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterNine");
        paragraphDescChapterNineList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们非常重视未成年人的个人信息保护，我们的产品和服务均面向成年人，不以未成年人为目标客户。我们不会故意收集任何未成年人的个人信息，除非您主动提供的某些信息中不可避免的包含了某些未成年人的信息。");
        paragraphDesc.setUniqueFiled("chapterNine1No");
        paragraphDescChapterNineList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setBold(true);
        paragraphDesc.setContent("如果您是未成年人，请不要尝试注册【产品名称】，也不要以任何方式向我们提供您的任何个人信息。");
        paragraphDesc.setUniqueFiled("chapterNine1No");
        paragraphDescChapterNineList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("如果我们发现自己在未事先获得可证实的监护人同意的情况下收集了任何未成年人的个人信息，我们会设法尽快删除该等信息。");
        paragraphDesc.setUniqueFiled("chapterNine1No");
        paragraphDescChapterNineList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们非常重视对未成年人个人信息的保护。根据相关法律法规的规定，若您是18周岁以下的未成年人，在使用我们的服务前，应事先取得您的家长或法定监护人的书面同意。若您是未成年人的监护人，当您对您所监护的未成年人的个人信息有相关疑问时，请通过本政策中的联系方式与我们联系。");
        paragraphDesc.setUniqueFiled("chapterNine1");
        paragraphDescChapterNineList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("特别地，如果您是14周岁以下的儿童，我们需要得到您的监护人同意的情况下才会同意您注册以及使用我们的服务。若您未取得监护人同意，请不要在【产品名称】上注册或者使用我们提供的产品或服务。");
        paragraphDesc.setUniqueFiled("chapterNine1");
        paragraphDescChapterNineList.add(paragraphDesc);

        // ------------------------------------------------------------------------  十、本政策如何更新
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("本政策如何更新");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们的隐私政策可能变更。");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("未经您明确同意，我们不会削减您在本政策项下应享有的权利。我们会在本页面上发布对本政策所作的任何变更。");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("对于重大变更，我们还会提供更为显著的通知（比如官方公告、推送通知、发送短信或者电子邮件），并在本政策更新后您首次登陆时再次获取您的明示同意。若您在本政策更新且接到我们的通知后，点击同意或下一步，这表示您已充分阅读、理解并接受修订后的本政策。");
        paragraphDesc.setBoldContent(new String[]{"若您在本政策更新且接到我们的通知后，点击同意或下一步，这表示您已充分阅读、理解并接受修订后的本政策。"});
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("本政策所指的重大变更包括但不限于：");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("1.我们的服务模式发生重大变化，比如处理个人信息的类型、目的和方式等；");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("2.我们在所有权结构、组织架构等方面发生重大变化，比如业务调整、并购、破产等引起的所有者变更等；");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("3.个人信息共享、转让或者公开披露的主要对象发生变化；");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("4.您参与个人信息处理方面的权利及其行使方式发生重大变化；");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("5.我们负责处理个人信息安全的责任部门、联络方式及投诉渠道发生变化时；");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("6.个人信息安全影响评估报告表明存在高风险时。");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们还会将本政策的旧版本存档，供您查阅。");
        paragraphDesc.setUniqueFiled("chapterTen");
        paragraphDescChapterTenList.add(paragraphDesc);

        // ------------------------------------------------------------------------  十、本政策如何更新
        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("如何联系我们");
        paragraphDesc.setFirstLineIndent(0);
        paragraphDesc.setBold(true);
        paragraphDesc.setConvertChar(true);
        paragraphDesc.setSerialNumGroup("chapter");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("如果您对本政策有任何疑问、意见或建议，可通过以下方式与我们联系：");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（1）拨打客服热线电话【客服热线】");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（2）发送电子邮件至【电子邮件】");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("（3）邮寄地址：【邮寄地址】，收件人：【收件人】");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.CONTENT);
        paragraphDesc.setContent("我们的客服部门将会同个人信息保护部门30天内进行回复，并协助解决您的问题。");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);

        paragraphDesc = new ParagraphDesc();
        paragraphDesc.setParagraphType(ParagraphType.TITLE);
        paragraphDesc.setContent("如果您对我们的回复不满意，特别是我们的个人信息处理行为损害了您的合法权益，您还可以通过以下外部途径寻求解决方式：向【公司名称】所在地人民法院提起诉讼，或向网信、工商、公安等监管部门进行投诉或举报。");
        paragraphDesc.setUniqueFiled("chapterEleven");
        paragraphDescChapterElevenList.add(paragraphDesc);
    }


}
